package com.hzncc.flowable_diboot.delivery.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.time.LocalDate;
import java.util.List;

/**
 * 发货报表DTO
 */
@Data
public class DeliveryFormDTO {

    private List<String> columns;

    /**
     * sap合同号
     */
    @Length(max=100, message="sap合同号长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    private String sapContractCode;


    /**
     * 销售订单号
     */
    @Length(max=100, message="销售订单号长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    private String sapOrderCode;

    /**
     * 合同号
     */
    @Length(max=100, message="合同号长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    private String contractCode;

    /**
     * 业务部门
     */
    @Length(max=100, message="业务部门长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    private String businessDept;

    /**
     * 合同签订单位
     */
    @Length(max=100, message="合同签订单位长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    private String recipientLabel;

    /**
     * 签约人
     */
    @Length(max=100, message="签约人单位长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    private String signerLabel;

    /**
     * 实际发货时间 起始
     */
    @BindQuery(comparison = Comparison.GE, column = "create_time")
    private LocalDate deliveryTimeBegin;

    /**
     * 创建时间 截止
     */
    @BindQuery(comparison = Comparison.LT, column = "create_time")
    private LocalDate deliveryTimeEnd;

    /**
     * 成套发货
     */
    private String completeSet;

    /**
     * 是否已开票
     */
    private String invoiced;
}
